from app import Context

class Strategy:
    def __init__(self, name, params, context:Context.Context):
        self.name = name
        self.params = params
        self.context = context
        
    def on_kline(self, data:Context.Kline):
        raise NotImplementedError("Subclasses must implement this method")

    def on_kline_day(self, data:Context.Kline):
        raise NotImplementedError("Subclasses must implement this method")

    def on_snapshot(self, data:Context.Snapshot):
        raise NotImplementedError("Subclasses must implement this method")

    def on_daily_close(self):
        raise NotImplementedError("Subclasses must implement this method")

    def on_complete(self):
        raise NotImplementedError("Subclasses must implement this method")